package com.swanclouds.api.event;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.ActionResponse;
import com.swanclouds.model.event.Subscriptions;
import com.swanclouds.redfish.common.redfish.EventSubscriptions;
import com.swanclouds.redfish.event.domain.SubscriptionsModel;

import java.util.List;

/**
 * Author: 李文强
 * Title: SubscriptionsService
 * Description: TODO
 */
public interface SubscriptionsService extends RestService {

    /**
     * 查询事件订阅集合
     * @return  CollectionResource
     **/
    Subscriptions get();

    /**
     * 创建订阅事件接口
     * @param subscriptions 所需的参数数据
     * @return Subscriptions
     */
    ActionResponse create(EventSubscriptions subscriptions);

    /**
     * 查询服务器事件订阅集合资源
     * @return  java.util.List
     **/
    List<SubscriptionsModel> getList();

    /**
     * 查询事件订阅 创建服务器事件订阅资源
     * @param  subscriptionsModelId 事件订阅资源Id
     * @return  SubscriptionsModel
     **/
    SubscriptionsModel getSubscriptionsModel(String subscriptionsModelId);

    /**
     * 删除服务器事件订阅资源
     * @param  subscriptionsModelId 事件订阅资源Id
     * @return  ActionResponse
     **/
    ActionResponse delete(String subscriptionsModelId);

    /**
     * 修改服务器事件订阅资源
     * @param  subscriptions 所需的参数数据
     * @return  com.swanclouds.model.event.Subscriptions
     **/
    Subscriptions update(EventSubscriptions subscriptions);
}
